home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / cpptut22 / virtual2.cpp < prev    next >
C/C++ Source or Header  |  1992-01-19  |  949b  |  57 lines

  1.                                   // Chapter 10 - Program 2
  2. #include <iostream.h>
  3.  
  4. class vehicle {
  5.    int wheels;
  6.    float weight;
  7. public:
  8.    virtual void message(void) { cout << "Vehicle message\n";}
  9. };
  10.  
  11.  
  12. class car : public vehicle {
  13.    int passenger_load;
  14. public:
  15.    void message(void) { cout << "Car message\n";}
  16. };
  17.  
  18.  
  19. class truck : public vehicle {
  20.    int passenger_load;
  21.    float payload;
  22. public:
  23.    int passengers(void) {return passenger_load;}
  24. };
  25.  
  26.  
  27. class boat : public vehicle {
  28.    int passenger_load;
  29. public:
  30.    int passengers(void) {return passenger_load;}
  31.    void message(void) { cout << "Boat message\n";}
  32. };
  33.  
  34.  
  35. main()
  36. {
  37. vehicle unicycle;
  38. car sedan;
  39. truck semi;
  40. boat sailboat;
  41.  
  42.    unicycle.message();
  43.    sedan.message();
  44.    semi.message();
  45.    sailboat.message();
  46. // unicycle = sedan;
  47. }
  48.  
  49.  
  50.  
  51. // Result of execution
  52. //
  53. // Vehicle message
  54. // Car message
  55. // Vehicle message
  56. // Boat message
  57.